package cn.bluemobi.app.service;

import cn.bluemobi.app.entity.form.CommentForm;
import cn.bluemobi.app.entity.form.OrderForm;
import cn.bluemobi.app.entity.output.Balance;
import cn.bluemobi.app.entity.output.Order;
import cn.bluemobi.app.entity.output.Pay;
import cn.bluemobi.common.core.dto.Dto;
import cn.bluemobi.common.core.dto.Page;

public interface OrderService {

	Dto<Balance> balanceByCart(String memberId, String shoppingCartIds);

	Dto<Balance> balanceRightNow(String memberId, String commodityId,
			String specificationId, String quantity);

	Dto<Pay> submitOrder(String memberId, OrderForm orderForm);

	Page<Order> findMyOrders(Integer pageNo, Integer pageSize, String memberId,
			String orderStatus);

	Dto<Order> findOrderDetail(String memberId, String orderId);

	Dto<Object> cancelOrder(String memberId, String orderId);

	Dto<Object> deleteOrder(String memberId, String orderId);

	Dto<Object> confirmReceipt(String memberId, String orderId);

	Dto<Object> commentProduct(String memberId, CommentForm commentForm);

	// Dto<BalanceItem> balanceRightNow(String memberId, String commodityId,
	// String specificationId, String quantity);
	//
	// Dto<BalanceItem> balancePoints(String memberId, String commodityId,
	// String specificationId, String quantity);
	//
	// Dto<Pay> submitOrder(String memberId, OrderForm orderForm);
	//
	// Page<Order> findMyOrders(Integer pageNo, Integer pageSize, String
	// memberId, Integer orderStatus);
	//
	// Dto<Order> findOrderDetail(String memberId, Long orderId);
	//
	// Dto<Object> cancelOrder(String memberId, Long orderId);
	//
	// Dto<Object> deleteOrder(String memberId, Long orderId);
	//
	// Dto<Object> confirmReceipt(String memberId, Long orderId);
	//
	// Dto<Object> applyAfterSales(String memberId, OrderReturnForm
	// orderReturnForm);
	//
	// Dto<Logistics> findLogisticsDetail(String memberId, Long orderId, String
	// logisticsCode, String logisticsCompany,
	// String logisticsNumber);
	//
	// Dto<Object> commentProduct(String memberId, CommentForm commentForm);
	//
	// Page<AfterSales> findMyAfterSaless(Integer pageNo, Integer pageSize,
	// String memberId);
	//
	// Dto<AfterSales> findMyAfterSalesDetail(String memberId, String
	// afterSalesId);

}
